/**
 * @param {number[]} nums
 * @return {number}
 */

var maxSubArray = function (nums) {
    let len = nums.length
    let max = nums[0];
    for (let i = 1; i < len; i++) {
        // 如果前面的值小于0 则直接取当前元素
        nums[i] += Math.max(nums[i - 1], 0)
        // 保留最大值
        max = Math.max(max, nums[i])
    }
    return max
};